WM_WINDOWPOSCHANGED): Add _gdk_offset_{x,y} to top-level window
authorTor Lillqvist <tml@iki.fi>
Sat, 7 Aug 2004 21:46:28 +0000 (21:46 +0000)
committerTor Lillqvist <tml@src.gnome.org>
Sat, 7 Aug 2004 21:46:28 +0000 (21:46 +0000)
2004-08-07  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdkevents-win32.c (handle_configure_event,
gdk_event_translate:WM_WINDOWPOSCHANGED): Add _gdk_offset_{x,y} to
top-level window coordinates, not just in generated
events. (#148526, Robert Ögren)

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gdk/win32/gdkevents-win32.c

index 660f356ca9380c3250ee9fb0bddc8a85598fe29e..568009ee422f806f1d440b9702b5502e7e837d51 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2004-08-07  Tor Lillqvist  <tml@iki.fi>
+
+       * gdk/win32/gdkevents-win32.c (handle_configure_event,
+       gdk_event_translate:WM_WINDOWPOSCHANGED): Add _gdk_offset_{x,y} to
+       top-level window coordinates, not just in generated
+       events. (#148526, Robert Ögren)
+
 Sat Aug  7 01:26:08 2004  Matthias Clasen  <maclas@gmx.de>
 
        Make the column drag code a bit more robust (still scary, 
index 660f356ca9380c3250ee9fb0bddc8a85598fe29e..568009ee422f806f1d440b9702b5502e7e837d51 100644 (file)
@@ -1,3 +1,10 @@
+2004-08-07  Tor Lillqvist  <tml@iki.fi>
+
+       * gdk/win32/gdkevents-win32.c (handle_configure_event,
+       gdk_event_translate:WM_WINDOWPOSCHANGED): Add _gdk_offset_{x,y} to
+       top-level window coordinates, not just in generated
+       events. (#148526, Robert Ögren)
+
 Sat Aug  7 01:26:08 2004  Matthias Clasen  <maclas@gmx.de>
 
        Make the column drag code a bit more robust (still scary, 
index 660f356ca9380c3250ee9fb0bddc8a85598fe29e..568009ee422f806f1d440b9702b5502e7e837d51 100644 (file)
@@ -1,3 +1,10 @@
+2004-08-07  Tor Lillqvist  <tml@iki.fi>
+
+       * gdk/win32/gdkevents-win32.c (handle_configure_event,
+       gdk_event_translate:WM_WINDOWPOSCHANGED): Add _gdk_offset_{x,y} to
+       top-level window coordinates, not just in generated
+       events. (#148526, Robert Ögren)
+
 Sat Aug  7 01:26:08 2004  Matthias Clasen  <maclas@gmx.de>
 
        Make the column drag code a bit more robust (still scary, 
index 660f356ca9380c3250ee9fb0bddc8a85598fe29e..568009ee422f806f1d440b9702b5502e7e837d51 100644 (file)
@@ -1,3 +1,10 @@
+2004-08-07  Tor Lillqvist  <tml@iki.fi>
+
+       * gdk/win32/gdkevents-win32.c (handle_configure_event,
+       gdk_event_translate:WM_WINDOWPOSCHANGED): Add _gdk_offset_{x,y} to
+       top-level window coordinates, not just in generated
+       events. (#148526, Robert Ögren)
+
 Sat Aug  7 01:26:08 2004  Matthias Clasen  <maclas@gmx.de>
 
        Make the column drag code a bit more robust (still scary, 
index 7a1b772503bf01ce7019d15b5073a7fea335866f..4c0f5062dc01620c907fc886c63267eba385aec1 100644 (file)
@@ -1723,8 +1723,12 @@ handle_configure_event (MSG       *msg,
   point.x = client_rect.left; /* always 0 */
   point.y = client_rect.top;
   /* top level windows need screen coords */
-  if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL)
-    ClientToScreen (msg->hwnd, &point);
+  if (gdk_window_get_parent (window) == _gdk_parent_root)
+    {
+      ClientToScreen (msg->hwnd, &point);
+      point.x += _gdk_offset_x;
+      point.y += _gdk_offset_y;
+    }
 
   GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl)->width = client_rect.right - client_rect.left;
   GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl)->height = client_rect.bottom - client_rect.top;
@@ -1744,12 +1748,6 @@ handle_configure_event (MSG       *msg,
       event->configure.x = point.x;
       event->configure.y = point.y;
 
-      if (gdk_window_get_parent (window) == _gdk_parent_root)
-       {
-         event->configure.x += _gdk_offset_x;
-         event->configure.y += _gdk_offset_y;
-       }
-
       append_event (gdk_drawable_get_display (window), event);
     }
 }
@@ -2994,15 +2992,19 @@ gdk_event_translate (GdkDisplay *display,
          point.x = client_rect.left; /* always 0 */
          point.y = client_rect.top;
          /* top level windows need screen coords */
-         if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL)
-           ClientToScreen (msg->hwnd, &point);
+         if (gdk_window_get_parent (window) == _gdk_parent_root)
+           {
+             ClientToScreen (msg->hwnd, &point);
+             point.x += _gdk_offset_x;
+             point.y += _gdk_offset_y;
+           }
   
          GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl)->width = client_rect.right - client_rect.left;
          GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl)->height = client_rect.bottom - client_rect.top;
          
          ((GdkWindowObject *) window)->x = point.x;
          ((GdkWindowObject *) window)->y = point.y;
-         
+
          if (((GdkWindowObject *) window)->event_mask & GDK_STRUCTURE_MASK)
            {
              GdkEvent *event = gdk_event_new (GDK_CONFIGURE);
@@ -3015,12 +3017,6 @@ gdk_event_translate (GdkDisplay *display,
              event->configure.x = point.x;
              event->configure.y = point.y;
              
-             if (gdk_window_get_parent (window) == _gdk_parent_root)
-               {
-                 event->configure.x += _gdk_offset_x;
-                 event->configure.y += _gdk_offset_y;
-               }
-             
              if (((GdkWindowObject *) window)->resize_count > 1)
                ((GdkWindowObject *) window)->resize_count -= 1;